﻿<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <AssemblyName>IntegrationTests</AssemblyName>
    <RootNamespace>SemanticKernel.IntegrationTests</RootNamespace>
    <TargetFramework>net8.0</TargetFramework>
    <IsTestProject>true</IsTestProject>
    <IsPackable>false</IsPackable>
    <NoWarn>$(NoWarn);CA2007,CA1861,VSTHRD111,SKEXP0001,SKEXP0010,SKEXP0020,SKEXP0040,SKEXP0050,SKEXP0060,SKEXP0070,SKEXP0110</NoWarn>
    <UserSecretsId>b7762d10-e29b-4bb1-8b74-b6d69a667dd4</UserSecretsId>
  </PropertyGroup>
  <ItemGroup>
    <Compile Remove="Planners\SequentialPlanner\**" />
    <Compile Remove="Planners\StepwisePlanner\**" />
    <EmbeddedResource Remove="Planners\SequentialPlanner\**" />
    <EmbeddedResource Remove="Planners\StepwisePlanner\**" />
    <None Remove="Planners\SequentialPlanner\**" />
    <None Remove="Planners\StepwisePlanner\**" />
  </ItemGroup>
  <ItemGroup>
    <Compile Remove="Planners\PlanTests.cs" />
  </ItemGroup>
  <ItemGroup>
    <None Remove="prompts\GenerateStoryHandlebars.yaml" />
    <None Remove="skills\FunSkill\Joke\config.json" />
    <None Remove="skills\FunSkill\Joke\skprompt.txt" />
  </ItemGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.Extensions.Configuration" />
    <PackageReference Include="Microsoft.Extensions.Configuration.Binder" />
    <PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" />
    <PackageReference Include="Microsoft.Extensions.Configuration.Json" />
    <PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" />
    <PackageReference Include="Microsoft.Extensions.Http" />
    <PackageReference Include="Microsoft.Extensions.Http.Resilience" />
    <PackageReference Include="Microsoft.Extensions.TimeProvider.Testing" />
    <PackageReference Include="Microsoft.NET.Test.Sdk" />
    <PackageReference Include="System.Linq.Async" />
    <PackageReference Include="xRetry" />
    <PackageReference Include="xunit" />
    <PackageReference Include="xunit.runner.visualstudio">
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
      <PrivateAssets>all</PrivateAssets>
    </PackageReference>
    <PackageReference Include="coverlet.collector">
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
      <PrivateAssets>all</PrivateAssets>
    </PackageReference>
    <PackageReference Include="System.Text.Json" />
    <PackageReference Include="Testcontainers.Milvus" />
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\Connectors\Connectors.MistralAI\Connectors.MistralAI.csproj" />
    <ProjectReference Include="..\Agents\Core\Agents.Core.csproj" />
    <ProjectReference Include="..\Agents\OpenAI\Agents.OpenAI.csproj" />
    <ProjectReference Include="..\Connectors\Connectors.Google\Connectors.Google.csproj" />
    <ProjectReference Include="..\Connectors\Connectors.Onnx\Connectors.Onnx.csproj" />
    <ProjectReference Include="..\Connectors\Connectors.OpenAI\Connectors.OpenAI.csproj" />
    <ProjectReference Include="..\Connectors\Connectors.HuggingFace\Connectors.HuggingFace.csproj" />
    <ProjectReference Include="..\Connectors\Connectors.Memory.AzureCosmosDBMongoDB\Connectors.Memory.AzureCosmosDBMongoDB.csproj" />
    <ProjectReference Include="..\Connectors\Connectors.Memory.AzureCosmosDBNoSQL\Connectors.Memory.AzureCosmosDBNoSQL.csproj" />
    <ProjectReference Include="..\Connectors\Connectors.Memory.Chroma\Connectors.Memory.Chroma.csproj" />
    <ProjectReference Include="..\Connectors\Connectors.Memory.Milvus\Connectors.Memory.Milvus.csproj" />
    <ProjectReference Include="..\Connectors\Connectors.Memory.MongoDB\Connectors.Memory.MongoDB.csproj" />
    <ProjectReference Include="..\Connectors\Connectors.Memory.Postgres\Connectors.Memory.Postgres.csproj" />
    <ProjectReference Include="..\Connectors\Connectors.Memory.SqlServer\Connectors.Memory.SqlServer.csproj" />
    <ProjectReference Include="..\Connectors\Connectors.Memory.Weaviate\Connectors.Memory.Weaviate.csproj" />
    <ProjectReference Include="..\Extensions\PromptTemplates.Handlebars\PromptTemplates.Handlebars.csproj" />
    <ProjectReference Include="..\Planners\Planners.Handlebars\Planners.Handlebars.csproj" />
    <ProjectReference Include="..\Planners\Planners.OpenAI\Planners.OpenAI.csproj" />
    <ProjectReference Include="..\Plugins\Plugins.Core\Plugins.Core.csproj" />
    <ProjectReference Include="..\Plugins\Plugins.Memory\Plugins.Memory.csproj" />
    <ProjectReference Include="..\Functions\Functions.OpenApi\Functions.OpenApi.csproj" />
    <ProjectReference Include="..\Plugins\Plugins.Web\Plugins.Web.csproj" />
    <ProjectReference Include="..\SemanticKernel.Core\SemanticKernel.Core.csproj" />
  </ItemGroup>

  <ItemGroup>
    <None Update="testsettings.development.json">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </None>
    <None Update="testsettings.json">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </None>
    <None Update="testsettings.development.json" Condition="Exists('testsettings.development.json')">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </None>
    <Content Include="Plugins\instacart-ai-plugin.json">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </Content>
    <Content Include="Plugins\repair-service.json">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </Content>
  </ItemGroup>

  <ItemGroup>
    <EmbeddedResource Include="prompts/GenerateStory.yaml">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </EmbeddedResource>
    <EmbeddedResource Include="prompts\GenerateStoryHandlebars.yaml">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </EmbeddedResource>
  </ItemGroup>

  <ItemGroup>
    <EmbeddedResource Include="skills\FunSkill\Joke\config.json">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </EmbeddedResource>
    <EmbeddedResource Include="skills\FunSkill\Joke\skprompt.txt">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </EmbeddedResource>
  </ItemGroup>

  <ItemGroup>
    <None Update="TestData\*">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </None>
  </ItemGroup>
</Project>